1. Technical Field
This application generally relates to networks, and more particularly to network security.
2. Description of Related Art
Assessing the security of a computer network is a complex problem that depends on one or more factors that may vary with each network. Such factors include, for example, network topology, services and vulnerabilities of each host, a firewall policy, and the like. Vulnerabilities may be characterized as weaknesses within a network. Vulnerabilities in a host may be due to weaknesses in its associated hardware, software, and/or configuration by which an attacker may improperly access, perform an unauthorized operation upon, or otherwise compromise, a network.
Gathering and analyzing information for assessing the security of a network manually may be a daunting task as well as error prone. Additionally, this may be a costly option since a manual reassessment may need to be performed each time there is a change, such as, for example, a change in network topology or system software, the discovery of a new vulnerability, and the like.
Another technique for assessing network security is to use vulnerability scanners. However, existing vulnerability scanners provide information about services and vulnerabilities present on individual hosts and have a drawback of failing to take into account the impact of a network configuration. Additionally, the vulnerability scanners may not provide additional functionality that may be desirable in assessing network security, such as, for example, taking into account the removal or other variation of a vulnerability in order to assess the impact of the vulnerability removal. Such scanners may also fail to consider particular factors such as, for example, network topology and firewall rule sets.
It may be desirable to have an automated technique that efficiently identifies attack paths in a network by which an attacker may compromise a network. It may be desirable that this technique take into account the impact of a vulnerability from one host or node on the entire network providing a more global assessment. The technique may desirably consider possible attack paths of an attacker from within a network as well as external to the network. It may also be desirable to perform a risk assessment and accordingly provide a prioritized list of security improvements in an automated fashion.